/*
Memory management 内存管理
* 栈的管理是非常快的，尤其是在内存有rust语言默认进行内存分配的时候。但是这些分配是局部函数方法调用，且会收到占用空间大小的限制。另一个管理方式堆的管理相对比较就慢多了，并且由你的程序进行明确分配。优点是，它不受限于占用空间的大小，并且能够被全局访问。

*/
fn foo(){
	let y=5;
	let z=100;
}
fn main(){
	let x=42;
	// 这个程序有一个变量x.内存需要从某一处开始分配。在rust中默认的“栈分配”有一个基本的叫法‘入栈’。
	foo();
	/*
		这个程序总共有三个变量：2个在foo()中，一个在main()中。就像签一个例子，当main()被执行时，一个整数被分配在栈帧上。但是，在我们展示当foo()被执行时发生什么前，我们需要想象一下在内存中发生了什么。你的操作系统呈现程序的内存视图是非常简单的：一个从0到一个很大的数字的很长的地址列表用来表示你的电脑中有多少内存空间。例如，如果你有一个1G的内存，你的地址列表将是从0到1,073,741,824。这个数字是230，1GB所表示的字节数。
		
	*/
}